package cl.tinet.reservaCD.sala;

import java.util.ArrayList;

import cl.tinet.reservaCD.modelo.Sala;

/**
 * 
 * Clase interface de Sala, que va ser implementada por SalaDaoImpl.
 * 
 * @author Carlos Duque.
 */
public interface SalaDao {

    /**
     * Metodo crear una nueva sala en la base de datos.
     * 
     * @param salaCrear
     *            nueva sala en la base de datos.
     */
    void crearSala(Sala salaCrear);

    /**
     * Metodo eliminar una sala en la base de datos.
     * 
     * @param salaEliminar
     *            sala que se va a eliminar en la base de datos.
     */
    void eliminarSala(Sala salaEliminar);

    /**
     * Metodo que actualiza una sala en la base de datos.
     * 
     * @param salaActualizar
     *            sala que se va a actualizar.
     */
    void actualizarSala(Sala salaActualizar);

    /**
     * Metodo que busca una sala en la base de datos.
     * 
     * @param salaBusqueda
     *            usuario a buscar en la base de datos.
     * @return sala encontrado en la base de datos
     */
    Sala buscarSala(Sala salaBusqueda);

    /**
     * Metodo que lista las salas que estan en la base de datos.
     * 
     * @return un lista de las salas encontradas.
     */
    ArrayList<Sala> listaSala();

}
